#!/bin/sh

if [ $# != 2 ]; then
    echo not enough args
    echo usage: $0 file device
    exit 1
fi

if [ ! -f $1 ]; then
    echo input file does not exist
    exit 1
fi

if [ ! -b $2 ]; then
    echo output device does not exist
    exit 1
fi

UNAME=`uname`

case `uname` in
    Darwin)
        set -v
        sudo diskutil unmount $2 || exit 1
        sudo dd if=$1 of=$2 bs=2048 seek=1 || exit 1
        sudo diskutil eject $2 || exit 1
    ;;
    Linux)
        set -v
        sudo umount $2
        sudo dd if=$1 of=$2 bs=2048 seek=1 || exit 1
        sudo sync
    ;;
esac
